package com.ly.hotel.common;

import java.util.HashMap;

import android.os.Build;


/**
 * @author jouson
 * 遥控器按键的编码
 */

public class MyKeyEventCode {
	
	private static HashMap<Integer, Integer> keyActionMap = new HashMap<Integer, Integer>();
	
	//默认值是属于ADA801的
	public static int KEYCODE_SET 			= 114;// 操作指南
	public static int KEYCODE_MUTE 			= 113;// 静音
	public static int KEYCODE_ABOUT 		= 180;// 关于
	public static int KEYCODE_MUSIC 		= 181;// 音乐
	public static int KEYCODE_GAME 			= 182;// 游戏
	public static int KEYCODE_MEMU 			= 183;// 菜单
	public static int KEYCODE_VOLUME_UP 	= 184;// 音量+
	public static int KEYCODE_VOLUME_DOWN	= 185;// 音量-
	public static int KEYCODE_INTRO 		= 186;// 自助
	
	public static int KEYCODE_CALL 			= 206;// 呼叫
	public static int KEYCODE_TV 			= 220;// 电视
	public static int KEYCODE_MYHOME 		= 221;//不使用系统自带的home键值
	public static int KEYCODE_LIUWEI 		= 89;// 留位
	public static int KEYCODE_MOVICE 		= 223;// 电影
	public static int KEYCODE_EPISODE		= 188;//电视剧
	public static int KEYCODE_XIAOFEI 		= 224;// 酒水
	public static int KEYCODE_JISHI 		= 225;// 技师
	public static int KEYCODE_INTERNET		= 226;// 网络
	public static int KEYCODE_YOUHUI 		= 501;// 优惠
	public static int KEYCODE_BACK 			= 227;// 呼叫
	public static int KEYCODE_CONTORL 		= 228;// 客控
	public static int KEYCODE_MASSAGE 		= 504;// 信息

	public static int KEYCODE_PLAY_STOP = 135;//遥控器上的播放暂停键
			
	
	public static final int ACTION_SET 			= 1;// 操作指南
	public static final int ACTION_MUTE 		= 2;// 静音
	public static final int ACTION_ABOUT 		= 3;// 关于
	public static final int ACTION_MUSIC 		= 4;// 音乐
	public static final int ACTION_GAME 		= 5;// 游戏
	public static final int ACTION_MEMU 		= 6;// 菜单
	public static final int ACTION_VOLUME_UP 	= 7;// 音量+
	public static final int ACTION_VOLUME_DOWN	= 8;// 音量-
	public static final int ACTION_INTRO 		= 9;// 自助
	public static final int ACTION_CALL 		= 10;// 呼叫
	public static final int ACTION_TV 			= 11;// 电视
	public static final int ACTION_MYHOME 		= 12;//不使用系统自带的home键值
	public static final int ACTION_LIUWEI 		= 13;// 留位
	public static final int ACTION_MOVICE 		= 14;// 电影
	public static final int ACTION_EPISODE 		= 19;// 电视剧
	public static final int ACTION_XIAOFEI 		= 15;// 酒水
	public static final int ACTION_JISHI 		= 16;// 技师
	public static final int ACTION_INTERNET		= 17;// 网络
	public static final int ACTION_YOUHUI 		= 18;// 优惠
	public static final int ACTION_CONTORL 		= 20;// 客控
	public static final int ACTION_MASSAGE 		= 21;// 信息
	public static final int ACTION_PLAY_STOP = 135;//遥控器上的播放暂停键
	
	public static void init(){
		if(Build.BOARD.equals(Constants.BOARD_TYPE_ADA628_NAME)){
			KEYCODE_SET 		= 255;//114;// 操作指南
			KEYCODE_MUTE 		= 113;// 操作指南
			KEYCODE_ABOUT 		= 180;// 关于
			KEYCODE_MUSIC 		= 181;// 音乐
			KEYCODE_GAME 		= 182;// 游戏
			KEYCODE_MEMU 		= 183;// 技师
			KEYCODE_VOLUME_UP 	= 184;// 音量+
			KEYCODE_VOLUME_DOWN	= 185;// 音量-
			KEYCODE_INTRO 		= 186;// 自助
			
			KEYCODE_CALL 		= 206;// 呼叫
			KEYCODE_TV 			= 502;//KeyEvent.KEYCODE_F5;// 电视
			KEYCODE_MYHOME 		= 137;//不使用系统自带的home键值
			KEYCODE_LIUWEI 		= 89;// 留位，这个就是安卓安遥控器的“快退”的按键码
			KEYCODE_MOVICE 		= 223;// 电影
			KEYCODE_XIAOFEI 	= 224;// 酒水
			KEYCODE_JISHI 		= 225;// 技师
			KEYCODE_INTERNET	= 226;// 网络
			KEYCODE_YOUHUI 		= 501;// 优惠
			KEYCODE_CONTORL		= 503;// 客控
			KEYCODE_MASSAGE		= 504;// 信息

			KEYCODE_PLAY_STOP = 136;//遥控器上的播放暂停键
		}else if(Build.BOARD.equals(Constants.BOARD_TYPE_ADA648_NAME)
				|| Build.BOARD.equals(Constants.BOARD_TYPE_6A338_NAME)){
			KEYCODE_SET 		= 223;//114;// 操作指南
			KEYCODE_MUTE 		= 113;// 操作指南
			KEYCODE_ABOUT 		= 180;// 关于
			KEYCODE_MUSIC 		= 181;// 音乐
			KEYCODE_GAME 		= 182;// 游戏
			KEYCODE_MEMU 		= 183;// 技师
			KEYCODE_VOLUME_UP 	= 184;// 音量+
			KEYCODE_VOLUME_DOWN	= 185;// 音量-
			KEYCODE_INTRO 		= 186;// 自助

			KEYCODE_CALL 		= 206;// 呼叫
			KEYCODE_TV 			= 135;//KeyEvent.KEYCODE_F5;// 电视
			KEYCODE_MYHOME 		= 137;//不使用系统自带的home键值
			KEYCODE_LIUWEI 		= 89;// 留位
			KEYCODE_MOVICE 		= 255;// 电影
			KEYCODE_XIAOFEI 	= 224;// 酒水
			KEYCODE_JISHI 		= 225;// 技师
			KEYCODE_INTERNET	= 226;// 网络
			KEYCODE_YOUHUI 		= 501;// 优惠
			KEYCODE_CONTORL		= 503;// 客控
			KEYCODE_MASSAGE		= 504;// 信息
			KEYCODE_PLAY_STOP 	= 136;//遥控器上的播放暂停键
		}else if(Build.BOARD.equals(Constants.BOARD_TYPE_6A648_NAME)){
			KEYCODE_SET 		= 171;// 操作指南
			KEYCODE_MUTE 		= 113;//
			KEYCODE_ABOUT 		= 180;// 关于
			KEYCODE_MUSIC 		= 181;// 音乐
			KEYCODE_GAME 		= 182;// 游戏
			KEYCODE_MEMU 		= 183;// 技师
			KEYCODE_VOLUME_UP 	= 184;// 音量+
			KEYCODE_VOLUME_DOWN	= 185;// 音量-
			KEYCODE_INTRO 		= 299;// 自助
			
			KEYCODE_CALL 		= 288;// 呼叫
			KEYCODE_TV 			= 135;//KeyEvent.KEYCODE_F5;// 电视
			KEYCODE_MYHOME 		= 137;//不使用系统自带的home键值
			KEYCODE_LIUWEI 		= 286;// 留位
			KEYCODE_MOVICE 		= 186;// 电影
			KEYCODE_XIAOFEI 	= 224;// 酒水
			KEYCODE_JISHI 		= 225;// 技师
			KEYCODE_INTERNET	= 226;// 网络
			KEYCODE_YOUHUI 		= 501;// 优惠
			KEYCODE_CONTORL		= 503;// 客控
			KEYCODE_MASSAGE		= 504;// 信息
			
			KEYCODE_PLAY_STOP = 136;//遥控器上的播放暂停键
		}else{
			//AT83的作为通用的了
			KEYCODE_SET 		= 255;//114;// 操作指南
			KEYCODE_MUTE 		= 113;// 操作指南
			KEYCODE_ABOUT 		= 180;// 关于
			KEYCODE_MUSIC 		= 181;// 音乐
			KEYCODE_GAME 		= 182;// 游戏
			KEYCODE_MEMU 		= 183;// 技师
			KEYCODE_VOLUME_UP 	= 184;// 音量+
			KEYCODE_VOLUME_DOWN	= 185;// 音量-
			KEYCODE_INTRO 		= 186;// 自助
			
			KEYCODE_CALL 		= 206;// 呼叫
			KEYCODE_TV 			= 135;//KeyEvent.KEYCODE_F5;// 电视
			KEYCODE_MYHOME 		= 137;//不使用系统自带的home键值
			KEYCODE_LIUWEI 		= 222;// 留位
			KEYCODE_MOVICE 		= 223;// 电影
			KEYCODE_XIAOFEI 	= 224;// 酒水
			KEYCODE_JISHI 		= 225;// 技师
			KEYCODE_INTERNET	= 226;// 网络
			KEYCODE_YOUHUI 		= 501;// 优惠
			KEYCODE_CONTORL		= 503;// 客控
			KEYCODE_MASSAGE		= 504;// 信息
			
			KEYCODE_PLAY_STOP = 136;//遥控器上的播放暂停键
		}
		
		
		
		//这个必须在最后调用
		initHashKeyMap();
	}
	
	public static void initHashKeyMap(){
		keyActionMap.put(KEYCODE_SET, ACTION_SET);
		keyActionMap.put(KEYCODE_MUTE , ACTION_MUTE);
		keyActionMap.put(KEYCODE_ABOUT, ACTION_ABOUT);
		keyActionMap.put(KEYCODE_MUSIC, ACTION_MUSIC);
		keyActionMap.put(KEYCODE_GAME, ACTION_GAME);
		keyActionMap.put(KEYCODE_MEMU , ACTION_MEMU);
		keyActionMap.put(KEYCODE_VOLUME_UP, ACTION_VOLUME_UP);
		keyActionMap.put(KEYCODE_VOLUME_DOWN, ACTION_VOLUME_DOWN);
		keyActionMap.put(KEYCODE_INTRO , ACTION_INTRO);
		keyActionMap.put(KEYCODE_CALL, ACTION_CALL);
		keyActionMap.put(KEYCODE_TV , ACTION_TV);
		keyActionMap.put(KEYCODE_MYHOME, ACTION_MYHOME);
		keyActionMap.put(KEYCODE_LIUWEI, ACTION_LIUWEI);
		keyActionMap.put(KEYCODE_MOVICE , ACTION_MOVICE);
		keyActionMap.put(KEYCODE_EPISODE , ACTION_EPISODE);
		keyActionMap.put(KEYCODE_XIAOFEI , ACTION_XIAOFEI);
		keyActionMap.put(KEYCODE_JISHI, ACTION_JISHI);
		keyActionMap.put(KEYCODE_INTERNET, ACTION_INTERNET);
		keyActionMap.put(KEYCODE_YOUHUI, ACTION_YOUHUI);
		keyActionMap.put(KEYCODE_PLAY_STOP , ACTION_PLAY_STOP);
		keyActionMap.put(KEYCODE_CONTORL , ACTION_CONTORL);
		keyActionMap.put(KEYCODE_MASSAGE , ACTION_MASSAGE);

	}
	
	//为了适配多个主板，每个主板的键码可能不一样，需要做二次转换
	public static int getAction(int key){
		if(keyActionMap.containsKey(key)){
			return keyActionMap.get(key);
		}
		
		return 0;
	}
}
